package org.goyo.main.services.sale;

import java.math.BigDecimal;
import java.util.List;

import org.goyo.common.exception.DBException;
import org.goyo.common.exception.ServiceException;
import org.goyo.common.utils.Pager;
import org.goyo.main.domain.entity.sale.Dispatch;
import org.goyo.main.domain.entity.sale.DispatchEntry;
import org.goyo.main.domain.entity.sale.SaleOrderEntry;
import org.goyo.main.domain.entity.system.SysUser;

public interface IDispatchService {
	
	public Pager<Dispatch> findByCondition(String where,Pager pager,Object[] groupUuids) throws DBException,ServiceException; 

	public Dispatch saveOrUpdateInfo(Dispatch info,Object[] uuids,SysUser user) throws DBException,ServiceException;
	
	public List<DispatchEntry> findByParentId(String parentId) throws DBException,ServiceException;
	
	public void delByUuids(Object[] uuids) throws DBException,ServiceException;
	
	public Dispatch submitByUuids(Object[] uuids,SysUser user) throws DBException,ServiceException;
	
	public Dispatch auditByUuids(Object[] uuids,SysUser user) throws DBException,ServiceException;

	public Dispatch unAuditByUuids(Object[] uuids,SysUser user) throws DBException,ServiceException;

	public Dispatch findByUuuid(String uuid)  throws DBException,ServiceException;
	
	public void updateByUuidLoss(String uuid,long lossQty,BigDecimal lossAmount) throws DBException,ServiceException;

	public Pager<DispatchEntry> findByEntryCondition(String where,Pager pager) throws DBException,ServiceException; 

}
